//package com.tsyz.servlet.config;
//
//import com.tsyz.servlet.filter.TsyzFilter;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.boot.web.servlet.FilterRegistrationBean;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * 过滤器配置类，用于注册TsyzFilter
// * @WebFilter(filterName = "tsyzFilter", urlPatterns = "/api/*")  代替本文件
// * <p>
// * | 特性                | `@WebFilter` 方式               | `FilterRegistrationBean` 方式       |
// * |---------------------|--------------------------------|------------------------------------|
// * | **注册机制**         | Servlet 容器自动注册           | Spring 容器显式注册                |
// * | **顺序控制**         | 有限，依赖容器实现             | 明确通过 `setOrder()` 控制          |
// * | **配置灵活性**       | 有限，只能通过注解属性配置      | 高度灵活，可以编程式配置            |
// * | **URL 模式**         | 简单模式                       | 支持更复杂的匹配规则                |
// * | **初始化参数**       | 通过注解配置                   | 可以通过 `setInitParameters()` 配置 |
// * | **依赖**            | 需要 `@ServletComponentScan`   | 纯 Spring，无需额外依赖             |
// * | **适用场景**         | 简单过滤器，不需要复杂配置      | 需要精确控制或复杂配置的过滤器       |
// *
// * @author ext.zhaoke14
// */
//@Slf4j
//@Configuration
//public class TsyzFilterConfig {
//
//    /**
//     * 注册一个名为 tsyzFilter 的过滤器，用于处理页面跳转和API请求，确保每个请求都有traceId
//     * 静态资源（如HTML、CSS、JS文件）不经过此过滤器
//     *
//     * @return FilterRegistrationBean 对象，表示已注册的过滤器。
//     */
//    @Bean
//    public FilterRegistrationBean<TsyzFilter> loggingFilter() {
//        FilterRegistrationBean<TsyzFilter> registrationBean = new FilterRegistrationBean<>();
//        // 对页面跳转和API请求进行过滤，静态资源不经过过滤器
//        registrationBean.setFilter(new TsyzFilter());
//        // 匹配所有以/api/开头的请求
//        registrationBean.addUrlPatterns("/api/*");
//        registrationBean.setName("tsyzFilter");
//        // 设置过滤器顺序，确保在其他过滤器之前执行
//        registrationBean.setOrder(1);
//        return registrationBean;
//    }
//}
